Repository navigation
Design shell_06 - #716
Merged
Merged
Design shell_06#716
Conversation
desmonddak
force-pushed
the
design_shell
branch
12 times, most recently
from
September 19, 2026 19:18
55e5926 to
268d6f4
Compare
desmonddak
force-pushed
the
design_shell
branch
4 times, most recently
from
October 9, 2026 00:36
3a12501 to
aecc6b4
Compare
desmonddak
force-pushed
the
design_shell
branch
from
October 13, 2026 23:33
aecc6b4 to
fc14652
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved moderate issues affect compatibility, shell state, MAC behavior, tracing, serialization, and SystemC testing/tooling.
6 open findings
FLC offsets mismatch separate SV output files · New Removing hierarchyJSON breaks compatibility callers · New Cached shells retain stale NetlistService instances · New Pipeline ignores enable signal and fails to stall · New FLC lookup omits embedded instance traces · New NetlistService example uses nonexistent factory API · New
What changed in this PR
Adds occurrence-based design traversal and debugging APIs, alongside SystemC generation, waveform querying, and source cross-probing support.
Changes:
- Adds design-session services and hierarchy interoperability.
- Expands synthesis, waveform, tracing, and debugger integration.
- Updates examples, tests, dependencies, CI, and documentation.
| File | Reviewed changes and findings |
|---|---|
tool/test/run_checks_test.sh |
Tests cleanup and separate FFI execution. |
tool/test/pana_source_test.sh |
Tests local hierarchy dependency handling. |
tool/run_checks.sh |
Adds SystemC cleanup. |
tool/gh_codespaces/run_setup.sh |
Installs SystemC during setup. |
tool/gh_codespaces/install_systemc.sh |
Adds SystemC installation helper. |
tool/gh_actions/setup_systemc_pch.sh |
Prebuilds SystemC headers. Moderate, 1 vote, L28: Under pipefail, grep -q can cause nm SIGPIPE and incorrectly select C++17; drain the symbol output instead. |
tool/gh_actions/run_tests.sh |
Separates FFI tests. |
tool/gh_actions/pana_source.sh |
Handles local hierarchy dependencies. |
tool/gh_actions/install_systemc.sh |
Builds and installs SystemC. |
tool/gh_actions/install_gtkwave.sh |
Installs waveform conversion tools. |
tool/gh_actions/devtool/run_devtool_test.sh |
Separates browser and debugger tests. |
tool/gh_actions/cleanup_systemc_tmp.sh |
Removes SystemC artifacts. |
tool/gh_actions/check_tmp_test.sh |
Allows retained header caches. |
tool/gen_filterbank_flc.dart |
Generates FilterBank debugging assets. |
test/unpacked_array_synthesis_test.dart |
Updates a comment date. |
test/systemc_tool_policy_test.dart |
Tests required-tool failure handling. |
test/systemc_split_packed_output_test.dart |
Tests split-output generation. |
test/systemc_service_test.dart |
Tests SystemC services and stubbing. Moderate, 1 vote, L216: The outer isTrue assertion fails when optional SystemC is unavailable despite the helper marking the test skipped; call the helper without that assertion. |
test/signal_registry_test.dart |
Tests FilterBank canonical names. |
test/net_test.dart |
Adds SystemC comparison. |
test/naming_consistency_test.dart |
Updates naming assertions. |
test/module_services_test.dart |
Expands service lifecycle coverage. |
test/flop_test.dart |
Adds SystemC flop comparisons. |
test/extend_test.dart |
Adds SystemC extension comparisons. |
test/diagnostics/shell_command_registry_test.dart |
Tests typed shell bindings. |
test/counter_test.dart |
Adds SystemC counter comparison. |
test/config_test.dart |
Updates waveform test wording. |
test/comparison_test.dart |
Adds SystemC comparisons. |
test/collapse_test.dart |
Adds SystemC comparison. |
test/bus_test.dart |
Adds reusable SystemC bus checks. |
test/assignment_test.dart |
Adds SystemC assignment checks. |
test/arithmetic_shift_right_test.dart |
Adds SystemC shift comparison. |
rohd_extension/src/flc_service.ts |
Supports embedded source traces. Moderate, 3 votes, L341: Embedded instance traces are accepted but not resolved because lookup checks only signals; fall back to rohd.src_trace.instances. |
rohd_extension/package.json |
Adds source-navigation activation events. |
rohd_devtools_extension/test/debugger/source_tracer_test.dart |
Tests construction-site tracing. |
rohd_devtools_extension/test/debugger/debug_session_test.dart |
Tests debugging lifecycle. |
rohd_devtools_extension/README.md |
Documents separate test platforms. |
rohd_devtools_extension/pubspec.yaml |
Updates debugging dependencies. |
rohd_devtools_extension/packages/rohd_devtools_widgets/pubspec.yaml |
Adds nested widget package manifest. |
rohd_devtools_extension/lib/rohd_devtools/services/vm_service_signal_value_source.dart |
Updates waveform time lookup. |
README.md |
Describes expanded generation and waveform support. |
pubspec.yaml |
Adds hierarchy and YAML dependencies. |
packages/rohd_waveform/pubspec.yaml |
Uses local hierarchy dependency. |
packages/rohd_waveform/pubspec_overrides.yaml |
Removes redundant overrides. |
packages/rohd_hierarchy/test/address_conversion_test.dart |
Tests definition-name root prefixes. |
packages/rohd_hierarchy/pubspec.yaml |
Updates hierarchy package version. |
packages/rohd_hierarchy/lib/src/signal_occurrence.dart |
Adds legacy map conversion. Moderate, 3 votes, L118: Non-nullable casts reject nullable fields emitted by toMap(), breaking round trips; use nullable casts. |
packages/rohd_hierarchy/lib/src/occurrence_address.dart |
Accepts definition-name prefixes. |
packages/rohd_hierarchy/lib/src/netlist_hierarchy_adapter.dart |
Records explicit port counts. |
packages/rohd_hierarchy/lib/rohd_hierarchy.dart |
Exports occurrence models. |
packages/rohd_hierarchy/CHANGELOG.md |
Documents hierarchy release. |
packages/rohd_devtools_widgets/pubspec.yaml |
Uses local hierarchy dependency. |
packages/rohd_devtools_widgets/pubspec_overrides.yaml |
Simplifies overrides. |
packages/rohd_devtools_widgets/lib/src/regex_utils.dart |
Adds regex helpers. |
merge_build_time.txt |
Empty metadata file. |
lib/src/wave_dumper.dart |
Updates waveform API references. |
lib/src/utilities/simcompare.dart |
Exposes SystemC comparison helpers. |
lib/src/utilities/namer.dart |
Adds structural-operation naming. |
lib/src/synthesizers/utilities/synth_module_definition.dart |
Adds backend-specific output concatenation capability. |
lib/src/synthesizers/utilities/synth_logic.dart |
Adds reference-name accessors. |
lib/src/synthesizers/systemverilog/systemverilog_synthesizer.dart |
Tracks output connection columns. |
lib/src/synthesizers/systemverilog/systemverilog_synth_sub_module_instantiation.dart |
Forwards connection locations. |
lib/src/synthesizers/systemverilog/system_verilog_service.dart |
Adds artifact and location maps. |
lib/src/synthesizers/systemc/systemc.dart |
Adds SystemC synthesizer. |
lib/src/synthesizers/systemc/systemc_synthesizer_configuration.dart |
Configures unsupported-module handling. |
lib/src/synthesizers/systemc/systemc_synth_sub_module_instantiation.dart |
Adds SystemC instantiation helpers. |
lib/src/synthesizers/systemc/systemc_synth_module_definition.dart |
Adds backend-specific definition handling. |
lib/src/synthesizers/synthesizers.dart |
Exports SystemC support. |
lib/src/synthesizers/synthesis_result.dart |
Adds generated-location contract. |
lib/src/synthesizers/synth_builder.dart |
Exposes implementation mappings. |
lib/src/synthesizers/netlist/netlist_synthesizer_configuration.dart |
Configures embedded tracing. |
lib/src/synthesizers/netlist/netlist_passes.dart |
Injects source-trace attributes. |
lib/src/signals/logic_structure.dart |
Records structure construction traces. |
lib/src/modules/conditionals/sequential.dart |
Exposes trigger polarities. |
lib/src/modules/bus.dart |
Updates read-only diagnostics. |
lib/src/module.dart |
Records module construction traces. |
lib/src/fst/fst_waveform_query.dart |
Adds disk-and-buffer waveform queries. |
lib/src/fst/fst_types.dart |
Defines FST format constants. |
lib/src/examples/tree_modules.dart |
Adds reusable tree example. |
lib/src/examples/oven_fsm_modules.dart |
Adds reusable FSM examples. |
lib/src/examples/filter_bank/shared_data_bus.dart |
Adds shared-bus example. |
lib/src/examples/filter_bank/mac_unit.dart |
Adds pipelined MAC example. Moderate, 3 votes, L73: enable is registered but unused, so both pipeline stages advance while disabled; add inverted-enable stalls to preserve existing behavior. |
lib/src/examples/filter_bank/filter_sample.dart |
Adds structured sample model. |
lib/src/examples/filter_bank/filter_data_interface.dart |
Adds filter interface. |
lib/src/examples/filter_bank/filter_controller.dart |
Adds filter control FSM. |
lib/src/examples/filter_bank/filter_bank.dart |
Adds FilterBank example hierarchy. |
lib/src/examples/filter_bank/filter_bank_modules.dart |
Exports filter example modules. |
lib/src/examples/filter_bank/coeff_bank.dart |
Adds coefficient selection module. |
lib/src/diagnostics/shell_service.dart |
Hosts design-session shell operations. Moderate, 3 votes, L31: Cached shells retain stale netlists after service replacement or registry reset, affecting queries and completion; invalidate shells and occurrence aliases when the netlist changes or disappears. |
lib/src/diagnostics/inspector_service.dart |
Updates inspector integration. Moderate, 3 votes, L124: Removing hierarchyJSON breaks existing callers and VM expressions despite the non-breaking claim; retain the forwarding alias until a breaking release. |
lib/src/diagnostics/flc_service.dart |
Adds deprecated trace-service alias. |
lib/src/diagnostics/diagnostics.dart |
Exports debugging APIs. |
lib/src/diagnostics/debug_session.dart |
Adds explicit debugging lifecycle. |
lib/rohd.dart |
Exports waveform and tracing support. |
lib/examples.dart |
Exports example definitions. |
lib/design_session_protocol.dart |
Exposes design-session protocol. |
extension/devtools/config.yaml |
Allows disconnected DevTools use. |
example/filter_bank_debug.dart |
Generates debugging fixtures. Moderate, 3 votes, L72: Separate SV artifacts conflict with default single-file tracing, producing incorrect submodule file and line references; select per-module SV tracing. |
doc/user_guide/_get-started/03-development-recommendations.md |
Refreshes IDE links. |
doc/user_guide/_get-started/01-overview.md |
Mentions SystemC generation. |
doc/user_guide/_docs/A21-generation.md |
Documents generation and timescales. |
doc/tutorials/README.md |
Updates waveform section link. |
doc/tutorials/chapter_9/rohd_vf_example/pubspec.yaml |
Updates tutorial dependencies. |
doc/cross_probing.md |
Documents tracing and cross-probing. Nit, 2 votes, L227: NetlistService.create does not exist, so the example does not compile; use the synchronous constructor and update the introductory API reference. |
doc/architecture.md |
Includes SystemC architecture references. |
dart_test.yaml |
Adds FFI exclusion preset. |
CHANGELOG.md |
Records hierarchy package release. |
.github/workflows/general.yml |
Integrates SystemC tooling and cleanup. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
desmonddak
force-pushed
the
design_shell
branch
3 times, most recently
from
October 16, 2026 05:33
0b4faba to
cd9a3ca
Compare
* Return original signal for same width zeroExtend Avoid building a zero width Const plus Swizzle when there is nothing to extend, matching signExtend. Also skip the Swizzle module when a list swizzle or rswizzle has exactly one non zero width signal. * Format swizzle and document zeroExtend identity --------- Co-authored-by: Hashim1999164 <Hashim1999164@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Desmond A. Kirkpatrick <desmond.a.kirkpatrick@intel.com>
Keep the design-shell branch aligned with main's material_ui migration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the obsolete material_ui upper bound and cupertino_ui override. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This reverts commit d398b80e482771e66b3452fc55c895cb3b523674.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
desmonddak
force-pushed
the
design_shell
branch
from
October 16, 2026 19:28
cd9a3ca to
ac43e58
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Description & Motivation
This branch creates an API for very basic traversal of a design using the handles
SignalOccurrenceandHierarchyOccurrence, providing search and connectivity traversal of a generic occurrence hypergraph representation of a ROHD design using the rohd_hierarchy service.Related Issue(s)
None.
Testing
This branch provides traversal tests.
Backwards-compatibility
No
Documentation
Yes.